package com.crm.dao.mapper.customMapper.permissionManagement;

import com.crm.model.entity.sys.permissionManagement.SysMenu;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Author yincuimei
 * @Date 2020/12/7 9:32
 */
public interface SysMenuCustomMapper {

   /**
    * 增加一条菜单数据
    * @param sysMenu ---菜单信息
    * @return
    */
   int insertSysMenu(SysMenu sysMenu);

    /**
     * 超级管理员查询所有左侧菜单列表(登录授权)
     * @param deleteStatus  ---删除状态(0:正常;1:已删除)
     * @param sysId         ---系统ID
     * @param menuType      ---菜单类型(1:管理; 2:用户)
     * @return
     */
   List<SysMenu>selectAllSysMenu(@Param("deleteStatus") short deleteStatus, @Param("sysId") String sysId, @Param("menuType") String menuType);

   /**
    * 根据用户账号ID及系统ID查询菜单列表(登录授权)
    * @param deleteStatus  ---删除状态(0:正常;1:已删除)
    * @param accountId     ---账号ID
    * @param sysId         ---系统ID
    * @param menuType      ---菜单类型(1:管理; 2:用户)
    * @return
    */
   List<SysMenu> selectSysMenuByAccountId(@Param("deleteStatus") short deleteStatus, @Param("accountId") String accountId, @Param("sysId") String sysId, @Param("menuType") String menuType);

   /**
    * 根据账号ID及系统ID查询管理模块菜单条数
    * @param deleteStatus  ---删除状态(0:正常;1:已删除)
    * @param accountId     ---账号ID
    * @param sysId         ---系统ID
    * @param menuType      ---菜单类型(1:管理; 2:用户)
    * @return
    */
   int selectManagerSyMenuCountByAccountId(@Param("deleteStatus") short deleteStatus, @Param("accountId") String accountId, @Param("sysId") String sysId, @Param("menuType") String menuType);
}
